@echo off
chcp 65001 >nul
REM ===============================================
REM Git 代码统计工具 - GUI 版本打包脚本
REM ===============================================

echo ========================================
echo Git 代码统计工具 - GUI 版本打包
echo ========================================
echo.

REM 激活虚拟环境
echo [1/4] 激活虚拟环境...
call venv\Scripts\activate.bat
if errorlevel 1 (
    echo 错误: 无法激活虚拟环境
    pause
    exit /b 1
)
echo ✓ 虚拟环境激活成功
echo.

REM 检查依赖
echo [2/4] 检查依赖包...
python -c "import PyInstaller" 2>nul
if errorlevel 1 (
    echo 警告: PyInstaller 未安装，正在安装...
    pip install pyinstaller
    if errorlevel 1 (
        echo 错误: 安装 PyInstaller 失败
        pause
        exit /b 1
    )
)
echo ✓ 依赖包检查完成
echo.

REM 清理旧的构建文件
echo [3/4] 清理旧的构建文件...
if exist build rmdir /s /q build
if exist dist rmdir /s /q dist
del /q *.spec 2>nul
echo ✓ 清理完成 
echo.

REM 执行打包
echo [4/4] 开始打包...
echo 这可能需要几分钟时间，请耐心等待...
echo.

REM 检查是否有图标文件
set ICON_OPTION=
if exist icon.ico (
    echo 检测到图标文件，将使用自定义图标
    set ICON_OPTION=--icon=icon.ico
) else (
    echo 未检测到图标文件，将使用默认图标
)

pyinstaller --onefile ^
    --windowed ^
    --name="GitCounter" ^
    %ICON_OPTION% ^
    --additional-hooks-dir=. ^
    --hidden-import=tkinter ^
    --hidden-import=git ^
    --hidden-import=gitdb ^
    --hidden-import=smmap ^
    --hidden-import=colorama ^
    --hidden-import=openpyxl ^
    git_counter_gui.py

if errorlevel 1 (
    echo.
    echo ✗ 打包失败！
    pause
    exit /b 1
)

REM 重命名为中文名称
echo.
echo 正在重命名文件...
if exist "dist\GitCounter.exe" (
    move /y "dist\GitCounter.exe" "dist\Git代码统计工具.exe" >nul
    echo ✓ 重命名成功
)

echo.
echo ========================================
echo ✓ 打包完成！
echo ========================================
echo.
echo 可执行文件位置: dist\Git代码统计工具.exe
echo.
echo 你可以将 dist\Git代码统计工具.exe 复制到任何 Windows 10+ 电脑上运行
echo 不需要安装 Python 环境
echo.
echo 提示: build 和 *.spec 文件可以删除，只保留 dist\Git代码统计工具.exe
echo.

REM 询问是否运行
set /p RUN="是否立即运行测试？(y/n): "
if /i "%RUN%"=="y" (
    echo.
    echo 启动程序...
    start "" "dist\Git代码统计工具.exe"
)

echo.
pause

